package com.njupt.simulation.utils;

public class CaculateOverlapPower {
    /**
     *
     * @param f1  s
     * @param B
     * @param f_min
     * @param f_max
     * @param Pt
     * @return
     */
    public static double calculateoverlappower(double f1, double B, double f_min, double f_max, double Pt) {
        //f1是受扰信号中心频率，B是受扰信号带宽，f_min是干扰信号频段下界，f_max是干扰信号频段上界，Pt_ganrao是干扰信号的发射功率

        double B_chongdie = 0;
        if (f_max <= f1 - B / 2 || f_min >= f1 + B / 2) {
            B_chongdie = 0;
        } else if (f_max > f1 - B / 2 && f_max <= f1 + B / 2 && f_min <= f1 - B / 2) {
            B_chongdie = f_max - (f1 - B / 2);
        } else if (f_max > f1 - B / 2 && f_max <= f1 + B / 2 && f_min > f1 - B / 2) {
            B_chongdie = f_max - f_min;
        } else if (f_max > f1 + B / 2 && f_min >= f1 - B / 2 && f_min <= f1 + B / 2) {
            B_chongdie = f1 + B / 2 - f_min;
        }
        double shuaijian = 10*Math.log10( B_chongdie / B);

        return Pt + shuaijian;
    }
    public static void main(String[] args) {

        double overlapband = calculateoverlappower(1975,50,1925,1975,8);

        // 打印结果
        System.out.println("重叠带宽功率为：" + overlapband);
    }
}